package com.crm.service.customerManager;


import com.crm.model.entity.customerManager.CustomerRelation;
import com.crm.model.vo.customerManager.CustomerRelationVO;

import java.util.List;

/**
 * @ Author ：baijian
 * @ Date   ：2021/7/11 15:56
 */
public interface CustomerRelationDbService {

    /**
     * 查询客户关联
     * @param customerId 客户id
     * @return
     */
    List<CustomerRelation> selectCustomerRelationList(String customerId);

    /**
     * 新增客户关联
     * @param customerRelation
     * @return
     */
    Boolean addCustomerRelation(CustomerRelation customerRelation);

    /**
     * 修改客户关联
     * @param customerRelation
     * @return
     */
    Boolean updateCustomerRelation(CustomerRelation customerRelation);

    /**
     * 客户关联审核列表
     * @param dateType 全部  all  本月 thisMonth 本周 thisWeek
     * @param customerName 客户名称
     * @return
     */
    List<CustomerRelationVO> examineCustomerRelationList(Integer dateType,String customerName);

    /**
     * 通过关联id查询关联信息
     * @param customerRelationId 关联id
     * @return
     */
    CustomerRelation selectCustomerRelation(String customerRelationId);

    /**
     *通过客户id和违规时间查询客户关联信息
     * @param customerId 客户id
     * @return
     */
    CustomerRelation selectCustomerRelationViolationTm(String customerId);

    /**
     * 修改客户关联 抹掉违规时间
     * @param relation 关联
     * @return
     */
    Boolean updateRelation(CustomerRelation relation);

    /**
     * 新增客户判重
     * @Author pym
     * @Date  2021/8/10 15:28
     * @param relationName 客户名称
     * @return {@link {java.lang.Boolean}}
     */
    Boolean selectCustomerRelationByName(String relationName);

    /**
     * 通过类型查询
     * @param relationType 曾用名类型 0    关联类型 1
     * @return
     */
    List<CustomerRelation> selectRelationType(int relationType);

    /**
     * 客服首页-关联未审核数量
     * @Author renshaorong
     * @Date 2021/12/17
     * @return
     */
    Integer getCustomerRelationNum();
}
